package com.xy.api.service.calculate.maori;

import com.xy.api.model.dto.calculate.maori.MaoriProductDTO;
import com.xy.api.model.request.calculate.maori.MaoriProductRequest;
import com.xy.api.model.response.Rows;

public interface IMaoriProductService {

    /**
     * 列表查询
     *
     * @param request
     * @return
     */
    Rows<MaoriProductDTO> queryProductList(MaoriProductRequest request);

    /**
     * 创建新项目
     *
     * @param request
     */
    void editProduct(MaoriProductDTO request);

    /**
     * 删除项目
     *
     * @param request
     */
    void deleteProduct(MaoriProductDTO request);

    /**
     * 项目详情
     *
     * @param request
     * @return
     */
    MaoriProductDTO productDetail(MaoriProductDTO request);

    /**
     * 核算前检查项目的配置
     *
     * @param costingProductId 项目ID
     */
    void checkProduct(Long costingProductId);

    /**
     * 更新项目的状态
     *
     * @param productId 项目ID
     * @param status 状态，0未填写完成，1已核算完成
     */
    void updateProductStatus(Long productId, Integer status);
}
